/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.spring.DAO;

import com.spring.entidades.Producto;
import java.util.List;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;

/**
 *
 * @author jerick
 */
@Repository
public class ProductoDAO extends HibernateDaoSupport {
    
    @Autowired

    public ProductoDAO(SessionFactory sessionFactory) {
        super.setSessionFactory(sessionFactory);
    }
    public List<Producto> getListarProd(){
        return getHibernateTemplate().find("select p from Producto p");
    }
    public List<Producto> getbuscarProd(String numped)
     {
         return getHibernateTemplate().findByNamedParam("select p from Producto p where p.producto like :plat%", "param", numped);//en jpql
         
     }
    
    public List<Producto> getbuscarProducto( String numped){
        List<Producto> prod = null;
        try{
        DetachedCriteria crit = DetachedCriteria.forClass(Producto.class);
         crit.add(Restrictions.like("producto", "%"+numped+"%"));
         //crit.add(Restrictions.like("codEmp", codigo));
        
        prod= getHibernateTemplate().findByCriteria(crit);                                
        }
        catch(Exception e){
        }
        return prod;

     }
    
    public List<Producto> getbuscarProducto_cod( String codigo){
        List<Producto> prod = null;
        try{
        DetachedCriteria crit = DetachedCriteria.forClass(Producto.class);
         crit.add(Restrictions.like("codProd", codigo));
         //crit.add(Restrictions.like("codEmp", codigo));
        
        prod= getHibernateTemplate().findByCriteria(crit);                                
        }
        catch(Exception e){
        }
        return prod;

     }
}
